Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Malicious site protection App settings #3734

Open
wants to merge 6 commits into
base: alessandro/malicious-site-protection-navigation-detection-integration
Choose a base branch
from

Conversation

alessandroboron
Copy link
Contributor

Task/Issue URL: https://app.asana.com/0/72649045549333/1207944134334660/f
Tech Design URL: https://app.asana.com/0/72649045549333/1207273224076495/f
CC: @not-a-rootkit

Description:

Adds the Malicious Site Protection Settings in the General App Settings.

Steps to test this PR:

Prerequisites: Ensure that MaliciousSiteProtectionFeatureFlags.swift -> isMaliciousSiteProtectionEnabled and shouldDetectMaliciousThreat(forDomain domain: String?) return true.

Scenario 1 - Malicious Site Protection section should not show in settings

  1. Ensure that MaliciousSiteProtectionFeatureFlags.swift -> isMaliciousSiteProtectionEnabled returns false
  2. Open App Settings.
  3. Tap on “General”.
  4. Malicious Site Protection section should not be visible in the App settings.

Scenario 2 - Malicious Site Protection section shows in settings

  1. Ensure that MaliciousSiteProtectionFeatureFlags.swift -> isMaliciousSiteProtectionEnabled returns true
  2. Open App Settings.
  3. Tap on “General”.
  4. Malicious Site Protection section should be visible in the App settings.

Scenario 3 - Disabling Malicious Site Protection does not show special error pages

  1. Ensure that MaliciousSiteProtectionFeatureFlags.swift -> isMaliciousSiteProtectionEnabled and shouldDetectMaliciousThreat(forDomain domain: String?) return true.
  2. Open App Settings.
  3. Tap on “General”.
  4. Disable Malicious Site Protection.
  5. Navigate to http://privacy-test-pages.site/security/badware/phishing.html.
  6. Ensure that the special error page is not shown.

Scenario 4 - Enabling Malicious Site Protection shows special error pages

  1. Ensure that MaliciousSiteProtectionFeatureFlags.swift -> isMaliciousSiteProtectionEnabled and shouldDetectMaliciousThreat(forDomain domain: String?) return true.
  2. Open App Settings.
  3. Tap on “General”.
  4. Enable Malicious Site Protection.
  5. Navigate to http://privacy-test-pages.site/security/badware/phishing.html.
  6. Ensure that the special error page is shown.

Scenario 5 - Malicious Site Protection preference is remembered across app launches

  1. Open App Settings.
  2. Tap on “General”.
  3. Change the value of the Malicious Site Protection toggle.
  4. Restart the App.
  5. Ensure that the new value is persisted across app launches

Scenario 6 - Malicious Site Protection Learn More opens a tab

  1. Open App Settings.
  2. Tap on “General”.
  3. Tap the Malicious Site Protection “Learn More” Button.
  4. Ensure that the App opens a new tab and load the DDG learn more website.

Scenario 7 - Disabling Malicious Site Protection shows a warning message to the user

  1. Open App Settings.
  2. Tap on “General”.
  3. Disable Malicious Site Protection.
  4. Ensure that a warning message (in red) is shown to the user.
  5. Enable Malicious site Protection.
  6. Ensure that the warning message disappears.

Definition of Done (Internal Only):

Copy Testing:

  • Use of correct apostrophes in new copy, ie rather than '

Orientation Testing:

  • Portrait
  • Landscape

Device Testing:

  • iPhone SE (1st Gen)
  • iPhone 8
  • iPhone X
  • iPhone 14 Pro
  • iPad

OS Testing:

  • iOS 15
  • iOS 16
  • iOS 17

Theme Testing:

  • Light theme
  • Dark theme

Internal references:

Software Engineering Expectations
Technical Design Template

Copy link

github-actions bot commented Dec 17, 2024

Messages
📖

You seem to be updating localized strings. Make sure that you request translations and include translated strings before you ship your change. See Localization Guidelines for more information.

Generated by 🚫 dangerJS against 74e9353

@alessandroboron alessandroboron force-pushed the alessandro/malicious-site-protection-navigation-detection-integration branch from ed4e32b to b5fe830 Compare December 19, 2024 12:49
@alessandroboron alessandroboron force-pushed the alessandro/malicious-site-protection-settings branch from 9cbec1b to 74e9353 Compare December 19, 2024 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant